package com.xcl.mapper;

import com.xcl.pojo.Loading;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName ShuntMapper
 * @Description 分流管理
 * @Author: xiaochaolei
 * @date 2021/7/2 10:18
 * @Version 1. 0
 */
@Mapper
public interface ShuntMapper {
    /**
     * 得到未分配的运单和货物信息
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateOne();
    /**
     * 分页查询未分配的运单和货物信息
     * @param page 页码数
     * @param limit 条码数
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateOneLimit(@Param("page") int page,@Param("limit")int limit);

    /**
     * 得到运输中的运单和货运信息
     * @return  运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateTwo();


    /**
     * 分页查询未分配的运单和货物信息
     * @param page 页码数
     * @param limit 条码数
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateTwoLimit(@Param("page") int page,@Param("limit")int limit);


    /**
     * 得到装配中的运单和货物信息
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateThree();



    /**
     * 分页查询未分配的运单和货物信息
     * @param page 页码数
     * @param limit 条码数
     * @return 运单和货物信息集合
     */
    public List<Loading> getLoadingBYStateThreeLimit(@Param("page") int page,@Param("limit")int limit);


    /**
     * 多条件查询得到装车配载集合
     * @param waybill_id 运单号
     * @param substationUnit 到达分站
     * @param modeTransport 运输方式
     * @param startDate 起始日期
     * @param endingDate 结束日期
     * @return  装车配载集合
     */
    public List<Loading> getLoadingByWhere(@Param(value ="waybill_id" )String waybill_id
            ,@Param(value ="substationUnit" ) String substationUnit
            ,@Param(value ="modeTransport" ) String modeTransport
            ,@Param(value ="startDate" ) String startDate
            ,@Param(value ="endingDate" ) String endingDate
            ,@Param(value ="page" )int page
            ,@Param(value ="limit" )int limit);




    /**
     * 多条件查询得到装车配载集合
     * @param waybill_id 运单号
     * @param modeTransport 运输方式
     * @return  装车配载集合
     */
    public List<Loading> getLoadingByWhereTwo(@Param(value ="waybill_id" )String waybill_id
            ,@Param(value ="modeTransport" ) String modeTransport
            ,@Param(value ="page" )int page
            ,@Param(value ="limit" )int limit);


    /**
     * 多条修改
     * @param strings 数据集合
     * @return 影响行数
     */
    public int upteModificationOne(@Param("str")String[] strings);


    /**
     * 修改为配载中
     * @param strings 数组
     * @return 影响行数
     */
    public int upteModificationTwo(@Param("str")String[] strings);



    /**
     * 修改为配载中
     * @param strings 数组
     * @return 影响行数
     */
    public int upteModificationThree(@Param("str")String[] strings);



}
